# -*- coding: utf-8 -*-

'''
    【简介】 tkinter基本使用:手动选择颜色

'''

from tkinter import Tk, Button, Text, colorchooser


class GUI:
    def __init__(self):
        # 创建窗口，实例化一个窗口对象
        self.root = Tk()

        # 设置窗口大小与位置 长x宽+x+y
        self.root.geometry("600x450+150+150")

        # 设置标题
        self.root.title("个性小窗口")

        # 定义组件
        self.interface()

    def interface(self):
        # 添加按钮1 在添加按钮时直接定义命令函数
        self.btn1 = Button(self.root, text='选择颜色', font=('宋体', 12), fg='red', command=self.get_colors)
        self.btn1.grid(row=0, column=1)


        # 文本输入框
        self.text01 = Text(self.root, width=68, height=10)
        self.text01.grid(row=1, column=0, columnspan=3, padx=10)

    def get_colors(self):
        '''手动选择颜色, 并获取颜色代码'''
        color_code = colorchooser.askcolor()
        # 清除text文本框
        self.text01.grid_forget()
        # 重新添加文本框，并添加颜色
        self.text01 = Text(self.root, width=68, height=10, bg=color_code[1])
        self.text01.grid(row=1, column=0, columnspan=3, padx=10)
        # 打印颜色代码
        self.text01.insert("insert", color_code)


if __name__ == '__main__':
    gui = GUI()
    # 显示窗口
    gui.root.mainloop()
